package com.fanshilz.flower2025.apps.wechatminiapp.project.req;

import com.fanshilz.flower2025.business.flower.project.entity.Project;
import io.github.linpeilie.annotations.AutoMapper;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

@Data
@AutoMapper(target = Project.class, reverseConvertGenerate = false)
public class WechatProjectUpdateReq {

    @NotNull
    private Long projectId;

    /**
     * UUID
     */
//    private String projectUuid;

    /**
     * 项目名称
     */
    @Schema(description = "项目名称")
    @NotBlank
    private String projectName;

    /**
     * 年收入
     */
    @Schema(description = "年收入")
    @NotNull
    private Double projectIncomeYearMoney;

    /**
     * 年利润
     */
    @Schema(description = "年利润")
    @NotNull
    private Double projectProfitYearMoney;

    /**
     * 成立时间
     */
//    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
//    private Timestamp projectFoundingTime;

    /**
     * 成立了多少年
     */
//    private Integer projectFoundingTimeYear;

    /**
     * 地址省份
     */
    @Schema(description = "省份")
    @NotBlank
    private String projectProvinceName;

    /**
     * 地址省份code
     */
    @Schema(description = "省份code")
    @NotBlank
    private String projectProvinceCode;

    /**
     * 地址城市
     */
    @Schema(description = "城市")
    @NotBlank
    private String projectCityName;

    /**
     * 地址城市code
     */
    @Schema(description = "城市code")
    @NotBlank
    private String projectCityCode;

    /**
     * 地址区
     */
//    private String projectAreaName;

    /**
     * 地址区code
     */
//    private String projectAreaCode;

    /**
     * 售价 叫价
     */
    @Schema(description = "叫价")
    @NotNull
    private Double projectSellingPriceMoney;

    /**
     * 行业
     */
    @Schema(description = "行业")
    @NotBlank
    private String projectIndustryLabel;

    /**
     * 行业value
     */
    @Schema(description = "行业value")
    @NotNull
    private Integer projectIndustryValue;

    /**
     * 类型
     */
    @Schema(description = "类型")
    @NotBlank
    private String projectTypeLabel;

    /**
     * 类型value
     */
    @Schema(description = "类型value")
    @NotNull
    private Integer projectTypeValue;

    /**
     * 员工人数
     */
    @Schema(description = "员工人数")
    @NotNull
    private Integer projectEmployeesNumber;

    /**
     * 出售原因
     */
    @Schema(description = "出售原因")
    @NotBlank
    private String projectSellReasonLabel;

    /**
     * 出售原因value
     */
    @Schema(description = "出售原因value")
    @NotNull
    private Integer projectSellReasonValue;

    /**
     * 出售股份比例
     */
    @Schema(description = "出售股份比例")
    @NotNull
    private Double projectSellSharesProportion;

    /**
     * 公司介绍
     */
    @Schema(description = "公司介绍")
    private String projectCorporationDesc;

    /**
     * 生意亮点
     */
    @Schema(description = "生意亮点")
    private String projectBusinessHighlightDesc;

    /**
     * 运营情况
     */
    @Schema(description = "运营情况")
    private String projectOperationSituationDesc;

    /**
     * 其他信息
     */
    @Schema(description = "其他信息")
    private String projectOtherDesc;

    /**
     * 项目状态
     */
//    private String projectStatusLabel;

    /**
     * 项目状态value
     */
//    private Integer projectStatusValue;

    /**
     * 交易状态
     */
//    private String projectTradingStatusLabel;

//    private Integer projectTradingStatusValue;

    /**
     * 发布人
     */
//    private String projectUserName;

    @Schema(description = "联系方式")
    @NotBlank
    private String projectUserMobile;

    @Schema(description = "身份")
    @NotBlank
    private String projectUserTypeLabel;

    @Schema(description = "身份value")
    @NotNull
    private Integer projectUserTypeValue;

}
